home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BCI NET
/
BCI NET Dec 94.iso
/
archives
/
applications
/
wp
/
write3_512.lha
/
WRITE.install
< prev
Wrap
Text File
|
1994-08-16
|
21KB
|
739 lines
;=============================================================================
; Only Experts
(set @user-level 2
)
(set DEMO TRUE
)
;=============================================================================
; make sure we are running under a 2.04 ROM
(if (< (/ (getversion) 65536) 37)
(
(abort "WRITE läuft nur mit Kickstart 2.0 oder größer !")
)
)
;=============================================================================
; explain what we are all about...
(if
(exists "ENV:WRITE"
)
;THEN
(
(message "Dieses Skript hat erkannt, daß sie WRITE bereits "
"installiert haben und versucht nun ihre Version "
"auf den neusten Stand zu bringen.\n"
"Dies bedeutet, daß ihre alten Konfigurationen und "
"REXX-Skripts die Endung '.OLD' bekommen. Ansonsten "
"befinden sie sich im gleichen Verzeichnis.\n"
"Vergewissern sie sich bevor sie sie wieder umbenennen, "
"ob sie immernoch kompatibel sind.\n"
"Sollten sie mir ihre Skripts und Konfigurationen "
"schicken, so werde ich versuchen diese auf den "
"neusten Stand zu halten und der nächsten Version beizulegen."
)
(message "ALLE ANDEREN FILES WERDEN ÜBERSCHRIEBEN. MACHEN SIE VORHER EIN "
"UPDATE, WENN SIE SICH NICHT SICHER SIND, OB..."
)
(set @REINSTALL TRUE)
)
;ELSE
(
(message "Dieses Script installiert WRITE und die dazugehörigen "
"Daten in ihrem System :\n\n"
"'GarbageCollector.library',\n"
"'GarbagePrefs',\n"
"'GCStat',\n"
"'WRITE',\n"
"'Config/#?.config',\n"
"'WRITE.dok','WRITE.guide','WRITE.dvi'\n"
"'deutsch/WRITE.catalog','english/WRITE.catalog'\n"
"diverse REXX-Scripts\n"
"und setzt schließlich die Umgebungsvariablen\n"
"'WRITE', 'WRITE.config' und 'WRITE.guide'."
)
(set @REINSTALL FALSE)
)
;END;
)
;=============================================================================
; Installieren der garbagecollector.library
(copylib (prompt "Installiere die\n"
"'GarbageCollector.library'\n"
"nach libs:")
(help "Die 'GarbageCollector.library' ist für die "
"Funktion von 'WRITE' unbedingt nötig. "
"Sie organisiert die Speicherverwaltung.")
(source "LIBS/garbagecollector.library")
(dest "LIBS:")
(confirm)
)
;=============================================================================
; Installieren der garbagecollector Prefs
(if (askbool (prompt "Soll das Preferences-Programm\n"
"'GarbagePrefs'\n"
"kopiert werden?\n\n"
"Dieses Programm sollte nach einer "
"Neuinstallation sofort augerufen werden !")
(help "Nur durch das GrabagePrefs-Programm "
"wird die 'garbagecolletor.library' "
"optimal konfiguriert !")
)
;THEN
(
(set @PREFS-DIR
(askdir (prompt "Wohin soll das Preferences-Programm\n"
"'GarbagePrefs'\n"
"kopiert werden?")
(help @askdir-help)
(default "SYS:Prefs")
)
)
(set @PREFS-FULL
(tackon @PREFS-DIR "GarbagePrefs"
)
)
(working ("Entpacke prefs/GarbagePrefs.lha nach %s" @PREFS-DIR)
)
(run ("c/lx -m x prefs/GarbagePrefs.lha %s" @PREFS-DIR)
)
)
;END
)
;=============================================================================
; Installieren von BCStat
(if (askbool (prompt "Soll BCStat installiert werden?\n\n"
"BCStat zeigt die augenblickliche "
"Auslastung des GarbageCollectors an. "
"Eine nützliche Sache, aber nicht unbedingt "
"notwendig.")
(help "Aber schaden kanns auch nicht !")
)
;THEN
(
(set @GC-DIR
(askdir (prompt "Wohin soll das GarbageCollector-Tool\n"
"'GCStat'\n"
"kopiert werden?")
(help @askdir-help)
(default "SYS:Tools")
)
)
(set @GC-FULL (tackon @GC-DIR "GCStat"
)
)
(working ("Entpacke tools/GCStat.lha nach %s" @GC-DIR)
)
(run ("c/lx -m x tools/GCStat.lha %s" @GC-DIR)
)
)
;END
)
;=============================================================================
; Installieren von WRITE
(if
(exists "ENV:WRITE"
)
;THEN
(
(set @WRITE-DIR (pathonly (getenv "WRITE") )
)
)
;ELSE
(
(set @WRITE-DIR "SYS:")
)
;END;
)
(set @WRITE-DIR
(askdir (prompt "Wohin soll 'WRITE' kopiert werden?")
(help @askdir-help)
(default @WRITE-DIR)
)
)
(set @WRITE-FULL (tackon @WRITE-DIR "WRITE"
)
)
(copyfiles (prompt "Kopiere 'WRITE' nach :"
@WRITE-FULL)
(help @copyfiles-help)
(source "WRITE")
(dest @WRITE-DIR)
(infos)
)
(set @default-dest @WRITE-DIR
)
;=============================================================================
; Setzen der Umgebungsvariablen WRITE
(textfile (prompt "Setze die Umgebungsvariable 'WRITE' "
"mit dem Wert\n"
"'" @WRITE-FULL ".'\n"
"Sie sagt einigen REXX-Scripts, in welchem "
"Verzeichnis sie WRITE finden können.")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENV:WRITE'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENV:WRITE")
(append @WRITE-FULL)
(confirm)
)
;=============================================================================
; Setzen der Umgebungsvariablen WRITE für immer
(textfile (prompt "Setze die Umgebungsvariable 'WRITE' "
"auch im 'ENVARC:'-Verzeichnis, so daß auch nach einem "
"Neustart die Umgebungsvariable gesetzt bleibt.")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENVARC:WRITE'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENVARC:WRITE")
(append @WRITE-FULL)
(confirm)
)
;=============================================================================
; Installieren des Keyfiles
(if (exists "WRITE.KEY"
)
;THEN
(
(set DEMO FALSE
)
(set @KEY-DIR
(askdir (prompt "Wohin soll der Keyfile\n"
"'WRITE.KEY'\n"
"kopiert werden?")
(help @askdir-help)
(default "s:")
)
)
(set @KEY-FULL (tackon @KEY-DIR "WRITE.KEY"
)
)
(copyfiles (prompt "Kopiere 'WRITE.KEY' nach :"
@KEY-FULL)
(help @copyfiles-help)
(source "WRITE.KEY")
(dest @KEY-DIR)
(infos)
)
(textfile (prompt "Setze die Umgebungsvariablen\n"
"'WRITE.KEY'\n"
"Sie sagt WRITE, wo der den Keyfile finden kann. "
"Kann der Keyfile nicht gefunden weren, "
"oder ist er ungültig, so werden einige Optionen "
"nicht freigegeben.")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENV:WRITE.KEY'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENV:WRITE.KEY")
(append @KEY-FULL)
(confirm)
)
(textfile (prompt "Setze die Umgebungsvariable\n"
"'WRITE.KEY'\n"
"auch im 'ENVARC:'-Verzeichnis, so daß auch nach einem "
"Neustart die Umgebungsvariable gesetzt bleibt.")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENVARC:WRITE.KEY'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENVARC:WRITE.KEY")
(append @KEY-FULL)
(confirm)
)
)
;END
)
(if
(exists "ENV:WRITE.KEY"
)
;THEN
(
(set DEMO TRUE)
)
;ELSE
(set DEMO FALSE)
;END;
)
;=============================================================================
; Kopieren der Konfiguration
(if
(exists "ENV:WRITE.CONFIG"
)
;THEN
(
(set @CONFIG-DIR (getenv "WRITE.CONFIG")
)
(working ("Lösche alle alten #?.CONFIG.PP in %s" @CONFIG-DIR)
)
(foreach @CONFIG-DIR "#?.CONFIG.PP"
(
(set @this (tackon @CONFIG-DIR @each-name))
(delete @this)
)
)
(working ("Nenne alle #?.CONFIG im Verzeichnis %s in #?.CONFIG.OLD um." @CONFIG-DIR)
)
(foreach @CONFIG-DIR "#?.CONFIG.OLD"
(
(set @this (tackon @CONFIG-DIR @each-name))
(delete @this)
)
)
(foreach @CONFIG-DIR "#?.CONFIG"
(
(set @this (tackon @CONFIG-DIR @each-name))
(set @that (tackon @CONFIG-DIR ("%s.OLD" @each-name)))
(rename @this @that)
)
)
)
;ELSE
(set @CONFIG-DIR "S:"
)
;END;
)
(set @CONFIG-FULL (copyfiles (prompt "Welche Konfigurationsfiles sollen "
"kopiert werden?")
(help "Der Standardkonfigurationsfile sowie "
"einige Beispielkonfigurationen.")
(source "Config")
(dest @CONFIG-DIR)
(all)
(confirm)
(infos)
)
)
;=============================================================================
; Setzen der Umgebungsvariablen WRITE.config
(textfile (prompt "Setze die Umgebungsvariable 'WRITE.CONFIG.' "
"mit dem Wert\n"
"'" @CONFIG-FULL "'.\n"
"Sie sagt 'WRITE', wo die Konfigurationsfiles "
"zu finden sind.\n\n"
"Dies ist unbedingt erforderlich !")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENV:WRITE.CONFIG'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENV:WRITE.CONFIG")
(append @CONFIG-FULL)
(confirm)
)
;=============================================================================
; Setzen der Umgebungsvariablen WRITE.CONFIG für immer
(textfile (prompt "Setze die Umgebungsvariable 'WRITE.CONFIG' "
"auch im 'ENVARC:'-Verzeichnis, so daß auch nach einem "
"Neustart die Umgebungsvariable gesetzt bleibt.")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENVARC:WRITE.CONFIG'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENVARC:WRITE.CONFIG")
(append @CONFIG-FULL)
(confirm)
)
;=============================================================================
; now copy the catalogs
(if (>= (/ (getversion "LIBS:locale.library") 65536) 38)
(
(set lang (askoptions (prompt "Welche Sprachen sollen installiert werden?\n\n"
"Besitzen sie z.B. bereits eine deutschsprachige "
"Version von WRITE, brauchen sie nicht extra "
"einen Katalog installieren !")
(help "Eine sehr nützliche Sache :\n"
"'WRITE' unterstützt die 'locale.library', "
"welche ab OS 2.1 vorhanden ist.\n"
"'WRITE' kann damit in weiten Teilen "
"sprachlich angepasst werden !")
(choices "english" "deutsch")
(default 1)
)
)
(set n 0)
(while (set language (select n "english"
"deutsch"
""
)
)
(
(if (IN lang n)
(
(set target (tackon "Locale:Catalogs" language)
)
(makedir target)
(copyfiles (source (cat "LOCALE/Catalogs/" language))
(dest target)
(all)
)
)
)
(set n (+ n 1))
))
)
)
;=============================================================================
; Abfrage, welche Anleitungen installiert werden sollen
(set @DOKBITS
(askoptions
(prompt "Welche Anleitungen möchten sie "
"installiert bekommen?")
(help "WRITE.dok - Die normale ASCII-Anleitung\n"
"WRITE.guide - Die Anleitung im Amigaguide-Format. "
"sehr nützlich, für die Onlinehilfe unendbehrlich.\n"
"WRITE.dvi - Ein .dvi-File der Anleitung für alle "
"TeX-Freaks. Aus Platzgründen mit LHA gepackt !")
(choices "WRITE.dok"
"WRITE.guide"
"WRITE.dvi"
"GarbageCollector.LiesMich")
(default 2)
)
)
;=============================================================================
; Installieren von WRITE.dok
(if (IN @DOKBITS 0
)
;THEN
(
(set @DOC-DIR
(askdir (prompt "Wohin soll die ASCII-Anleitung\n"
"'WRITE.dok'\n"
"kopiert werden?")
(default @WRITE-DIR)
(help @askdir-help)
)
)
(set @DOC-FULL (tackon @DOC-DIR "WRITE.dok"
)
)
(working ("Entpacke WRITE.DOK.lha nach %s" @DOC-DIR)
)
(run ("c/lx -m x WRITE.DOK.lha %s" @DOC-DIR)
)
(tooltype (prompt "Setzte DefaultTool...")
(help "Nichts Gefährliches !")
(dest @DOC-FULL)
(setdefaulttool @WRITE-FULL)
(noposition)
)
)
;END
)
;=============================================================================
; Installieren von WRITE.guide
(if (IN @DOKBITS 1
)
;THEN
(
(set @GUIDE-DIR
(askdir (prompt "Wohin soll der AmigaGuidefile\n"
"'WRITE.guide'\n"
"kopiert werden?")
(help @askdir-help)
(default "HELP:deutsch")
)
)
(set @GUIDE-FULL (tackon @GUIDE-DIR "WRITE.guide"
)
)
(copyfiles (prompt "Kopiere 'WRITE.guide' nach :"
@GUIDE-FULL)
(help @copyfiles-help)
(source "WRITE.guide")
(dest @GUIDE-DIR)
(infos)
)
(tooltype (prompt "Setzte DefaultTool...")
(help "Nichts Gefährliches !")
(dest @GUIDE-FULL)
(noposition)
)
(textfile (prompt "Setze die Umgebungsvariable\n"
"'WRITE.guide'\n"
"Sie sagt WRITE, wo der Guide-File zu finden ist. "
"Der Guide-File wird für die interaktive Hilfe "
"benötigt.\n"
"Sollten sie OS 3.0 oder höher besitzen, und "
"haben sie den Guide-File in das Verzeichnis "
"'HELP:deutsch' kopiert, braucht diese Variable "
"nicht gesetzt werden. WRITE findet den "
"Guide-File automatisch.")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENV:WRITE.guide'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENV:WRITE.guide")
(append @GUIDE-FULL)
(confirm)
)
(textfile (prompt "Setze die Umgebungsvariable\n"
"'WRITE.guide'\n"
"auch im ENVARC: Verzeichnis, so daß auch nach einem "
"Neustart die Umgebungsvariable gesetzt bleibt.")
(help "Tatsächlich wird der Pfad in der Datei\n"
"'ENVARC:WRITE.guide'\n"
"abgespeichert, was die genannte Wirkung hat.")
(dest "ENVARC:WRITE.guide")
(append @GUIDE-FULL)
(confirm)
)
)
;END
)
;=============================================================================
; Installieren von WRITE.dvi
(if (= DEMO FALSE
)
;THEN
(
(if (IN @DOKBITS 2
)
;THEN
(
(set @DVI-DIR
(askdir (prompt "Wohin soll der gepackte .DVI-File\n"
"'WRITE.dvi.lha'\n"
"kopiert werden?")
(default "TEX:")
(help @askdir-help)
)
)
(set @DVI-FULL (tackon @DVI-DIR "WRITE.dvi.lha"
)
)
(working ("Entpacke WRITE.guide.lha nach %s" @DVI-DIR)
)
(run ("c/lx -m x WRITE.guide.lha %s" @DVI-DIR)
)
)
;END
)
)
;ELSE
(
(message "Tut mit leid...\n"
"WRITE.dvi.lha liegt nur der Vollversion bei !"
)
)
;END
)
;=============================================================================
; Installieren von GarbageCollector.LiesMich
(if (IN @DOKBITS 3
)
;THEN
(
(set @COLL-DIR
(askdir (prompt "Wohin soll die GarbageCollector-Anleitung\n"
"'GarbageCollector.LiesMich'\n"
"kopiert werden?")
(default "MAN:")
(help @askdir-help)
)
)
(set @COLL-FULL (tackon @COLL-DIR "GarbageCollector.LiesMich"
)
)
(working ("Entpacke GarbageCollector.lha nach %s" @COLL-DIR)
)
(run ("c/lx -m x GarbageCollector.LiesMich.lha %s" @COLL-DIR)
)
(tooltype (prompt "Setzte DefaultTool...")
(help "Nichts Gefährliches !")
(dest @COLL-FULL)
(setdefaulttool @WRITE-FULL)
(noposition)
)
)
;END
)
;=============================================================================
; Installieren der REXX-Script
(if (AND @REINSTALL
(askbool (prompt "Wollen sie ihre alten REXX-Skripts aufbewahren?")
(help "Ihre alten REXX-Skript werden dann umbenannt !")
)
)
;THEN
(
(set @REXX-DIR
(askdir (prompt "Wo haben sie ihre alten "
"REXX-Sripts ?")
(default "REXX:")
(help @askdir-help)
)
)
(working ("Lösche alle alten #?.wrx.old")
)
(foreach @REXX-DIR "#?.wrx.old"
(
(set @this (tackon @REXX-DIR @each-name))
(delete @this)
)
)
(working ("Nenne alle #?.wrx in #?.wrx.old um.")
)
(foreach @REXX-DIR "#?.wrx"
(
(set @this (tackon @REXX-DIR @each-name))
(set @that (tackon @REXX-DIR ("%s.OLD" @each-name)))
(rename @this @that)
)
)
)
;ELSE
(set @REXX-DIR "REXX:")
;END;
)
(copyfiles (prompt "Welche REXX-Scripts sollen kopiert werden?")
(help "Dies sind einige AREXX-Files für verschiedene Zwecke. "
"Für mehr Information lesen sie das Kapitel 'REXX-Scripts' "
"in der Anleitung oderh den Header der einzelnen Scripte.")
(source "REXX")
(dest @REXX-DIR)
(all)
(confirm)
(infos)
)
(message "Lesen sie nun den Text 'Garbage-Collector.Liesmich' sowie "
"das Kapitel Installation in der Anleitung.")
(message "Starten sie anschließend das Programm 'GarbagePrefs', wählen "
"sie den Menüpunkt 'Werte vorschlagen' und speichern sie ab.\n"
"Dies garantiert, daß die GarbageCollector.library, die von "
"WRITE benötigt wird, optimal ihren Speicher ausnutzt.")
(message "Veränderen sie dann anschließend gegebenenfalls, wie auch im "
"Kapitel 'Installation' der Anleitung beschrieben, die Tooltypes "
"des WRITE-Icons sowie die 'SETBACKUP' und 'SETHOTKEY'-Eintäge im "
"File 'STARTUP.CONFIG' im Verzeichnis '" @CONFIG-FULL "'.")
(if (= DEMO TRUE
)
;THEN
(
(message "Dies ist nur eine Demo-Version !!!\n\n"
"Wollen sie sich registrieren lassen, so schreiben sie an :")
(message "Tim Teulings\n"
"An der Dorndelle 16\n"
"59192 Bergamen (Deutschland)\n\n"
"MausNet : Tim teulings @ UN\n"
"InterNet : rael@edge.ping.de\n\n"
"Und überweisen sie 30 DM auf folgendes Konto :\n"
"Sparkasse Berkamen - Bönen\n"
"BLZ : 410 518 45\n"
"KontoNr.: 16186496")
)
;END
)
(message "Feddich !!!\n\n"
"Ich wünsche ihnen viel Spaß mit dieser Version von\n\n"
"WRITE.\n\n"
"Tim Teulings\n")